home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / misc / libx11inc.lha / X11 / Xm / ScreenP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-02-13  |  5.6 KB  |  193 lines

  1. /* 
  2.  * (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
  3.  * ALL RIGHTS RESERVED
  4. */ 
  5. /*   $RCSfile: ScreenP.h,v $ $Revision: 1.23 $ $Date: 92/05/14 12:56:26 $ */
  6. /*
  7. *  (c) Copyright 1989, 1990  DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
  8. /*
  9. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  10. /*
  11. *  (c) Copyright 1988 MASSACHUSETTS INSTITUTE OF TECHNOLOGY  */
  12. /*
  13. *  (c) Copyright 1988 MICROSOFT CORPORATION */
  14. #ifndef _XmScreenP_h
  15. #define _XmScreenP_h
  16.  
  17. #include <Xm/DesktopP.h>
  18. #include <Xm/Screen.h>
  19. #include <Xm/DragIcon.h>
  20.  
  21. #ifdef __cplusplus
  22. extern "C" {
  23. #endif
  24.  
  25. typedef struct _XmScreenClassPart{
  26.     XtPointer        extension;
  27. }XmScreenClassPart, *XmScreenClassPartPtr;
  28.  
  29. typedef struct _XmScreenClassRec{
  30.     CoreClassPart        core_class;
  31.     XmDesktopClassPart         desktop_class;
  32.     XmScreenClassPart        screen_class;
  33. }XmScreenClassRec;
  34.  
  35. typedef struct _XmDragCursorRec{
  36.     struct _XmDragCursorRec    *next;
  37.     Cursor            cursor;
  38.     XmDragIconObject        stateIcon;
  39.     XmDragIconObject        opIcon;
  40.     XmDragIconObject        sourceIcon;
  41. }XmDragCursorRec, *XmDragCursorCache;
  42.  
  43. typedef struct _XmScratchPixmapRec *XmScratchPixmap;
  44.  
  45. typedef struct _XmScratchPixmapRec{
  46.     XmScratchPixmap     next;
  47.     Pixmap              pixmap;
  48.     Cardinal        depth;
  49.     Dimension           width;
  50.     Dimension           height;
  51.     Boolean             inUse;
  52. }XmScratchPixmapRec;
  53.  
  54. typedef struct {
  55.     Boolean        mwmPresent;
  56.     unsigned short    numReparented;
  57.     int            darkThreshold;
  58.     int            foregroundThreshold;
  59.     int            lightThreshold;
  60.     XmDragIconObject    defaultNoneCursorIcon;
  61.     XmDragIconObject    defaultValidCursorIcon;
  62.     XmDragIconObject    defaultInvalidCursorIcon;
  63.     XmDragIconObject    defaultMoveCursorIcon;
  64.     XmDragIconObject    defaultCopyCursorIcon;
  65.     XmDragIconObject    defaultLinkCursorIcon;
  66.     XmDragIconObject    defaultSourceCursorIcon;
  67.  
  68.     Cursor        nullCursor;
  69.     XmDragCursorRec    *cursorCache;
  70.     Cardinal        maxCursorWidth;
  71.     Cardinal        maxCursorHeight;
  72.  
  73.     Cursor        menuCursor;
  74.     unsigned char    unpostBehavior;
  75.     XFontStruct *    font_struct;
  76.     int            h_unit;
  77.     int            v_unit;
  78.     XmScratchPixmap    scratchPixmaps;
  79.     unsigned char     moveOpaque;
  80.  
  81.     /* to save internally-created XmDragIcons */
  82.  
  83.     XmDragIconObject    xmStateCursorIcon;
  84.     XmDragIconObject    xmMoveCursorIcon;
  85.     XmDragIconObject    xmCopyCursorIcon;
  86.     XmDragIconObject    xmLinkCursorIcon;
  87.     XmDragIconObject    xmSourceCursorIcon;
  88.  
  89.     GC            imageGC;
  90.     int            imageGCDepth;
  91.     Pixel        imageForeground;
  92.     Pixel        imageBackground;
  93.  
  94.     XtPointer        screenInfo;
  95. } XmScreenPart, *XmScreenPartPtr;
  96.  
  97. externalref XmScreenClassRec     xmScreenClassRec;
  98.  
  99. typedef struct _XmScreenRec{
  100.     CorePart            core;
  101.     XmDesktopPart        desktop;
  102.     XmScreenPart        screen;
  103. }XmScreenRec;
  104.  
  105. extern XrmQuark _XmInvalidCursorIconQuark ;
  106. extern XrmQuark _XmValidCursorIconQuark ;
  107. extern XrmQuark _XmNoneCursorIconQuark ;
  108. extern XrmQuark _XmDefaultDragIconQuark ;
  109. extern XrmQuark _XmMoveCursorIconQuark ;
  110. extern XrmQuark _XmCopyCursorIconQuark ;
  111. extern XrmQuark _XmLinkCursorIconQuark ;
  112.  
  113.  
  114. /********    Private Function Declarations    ********/
  115. #ifdef _NO_PROTO
  116.  
  117. extern XmDragIconObject _XmScreenGetOperationIcon() ;
  118. extern XmDragIconObject _XmScreenGetStateIcon() ;
  119. extern XmDragIconObject _XmScreenGetSourceIcon() ;
  120. extern Pixmap _XmAllocScratchPixmap() ;
  121. extern void _XmFreeScratchPixmap() ;
  122. extern XmDragCursorCache * _XmGetDragCursorCachePtr() ;
  123. extern void _XmGetMaxCursorSize() ;
  124. extern Cursor _XmGetNullCursor() ;
  125. extern Cursor _XmGetMenuCursorByScreen() ;
  126. extern Boolean _XmGetMoveOpaqueByScreen() ;
  127. extern unsigned char _XmGetUnpostBehavior() ;
  128. extern int _XmGetFontUnit() ;
  129. extern void _XmScreenRemoveFromCursorCache() ;
  130.  
  131. #else
  132.  
  133. extern XmDragIconObject _XmScreenGetOperationIcon( 
  134.                         Widget w,
  135. #if NeedWidePrototypes
  136.                         unsigned int operation) ;
  137. #else
  138.                         unsigned char operation) ;
  139. #endif /* NeedWidePrototypes */
  140. extern XmDragIconObject _XmScreenGetStateIcon( 
  141.                         Widget w,
  142. #if NeedWidePrototypes
  143.                         unsigned int state) ;
  144. #else
  145.                         unsigned char state) ;
  146. #endif /* NeedWidePrototypes */
  147. extern XmDragIconObject _XmScreenGetSourceIcon( 
  148.                         Widget w) ;
  149. extern Pixmap _XmAllocScratchPixmap( 
  150.                         XmScreen xmScreen,
  151. #if NeedWidePrototypes
  152.                         unsigned int depth,
  153.                         int width,
  154.                         int height) ;
  155. #else
  156.                         Cardinal depth,
  157.                         Dimension width,
  158.                         Dimension height) ;
  159. #endif /* NeedWidePrototypes */
  160. extern void _XmFreeScratchPixmap( 
  161.                         XmScreen xmScreen,
  162.                         Pixmap pixmap) ;
  163. extern XmDragCursorCache * _XmGetDragCursorCachePtr( 
  164.                         XmScreen xmScreen) ;
  165. extern void _XmGetMaxCursorSize( 
  166.                         Widget w,
  167.                         Dimension *width,
  168.                         Dimension *height) ;
  169. extern Cursor _XmGetNullCursor( 
  170.                         Widget w) ;
  171. extern Cursor _XmGetMenuCursorByScreen( 
  172.                         Screen *screen) ;
  173. extern Boolean _XmGetMoveOpaqueByScreen( 
  174.                         Screen *screen) ;
  175. extern unsigned char _XmGetUnpostBehavior( 
  176.                         Widget wid) ;
  177. extern int _XmGetFontUnit( 
  178.                         Screen *screen,
  179.                         int dimension) ;
  180. extern void _XmScreenRemoveFromCursorCache(
  181.             XmDragIconObject icon) ;
  182.  
  183. #endif /* _NO_PROTO */
  184. /********    End Private Function Declarations    ********/
  185.  
  186.  
  187. #ifdef __cplusplus
  188. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  189. #endif
  190.  
  191. #endif /* _XmScreenP_h */
  192. /* DON'T ADD STUFF AFTER THIS #endif */
  193.